<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>CryptoAuthLib: ATCAHAL_t Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
  $(document).ready(initResizable);
/* @license-end */</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">CryptoAuthLib
   </div>
   <div id="projectbrief">Microchip CryptoAuthentication Library</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('a01109.html','');});
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-attribs">Data Fields</a>  </div>
  <div class="headertitle">
<div class="title">ATCAHAL_t Struct Reference<div class="ingroups"><a class="el" href="a00993.html">Hardware abstraction layer (hal_)</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation.  
 <a href="a01109.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="a00368_source.html">atca_hal.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Data Fields</h2></td></tr>
<tr class="memitem:aa020e68c9d18f83f205981fa57107b3c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#aa020e68c9d18f83f205981fa57107b3c">halinit</a> )(void *hal, <a class="el" href="a01013.html">ATCAIfaceCfg</a> *cfg)</td></tr>
<tr class="separator:aa020e68c9d18f83f205981fa57107b3c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af174424ba7b2d19a74c72f8b4198c26b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#af174424ba7b2d19a74c72f8b4198c26b">halpostinit</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td></tr>
<tr class="separator:af174424ba7b2d19a74c72f8b4198c26b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6fb3aee6375216c53ef1e5a9df01e074"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#a6fb3aee6375216c53ef1e5a9df01e074">halsend</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface, uint8_t *txdata, int txlength)</td></tr>
<tr class="separator:a6fb3aee6375216c53ef1e5a9df01e074"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af95136769fcc864880463d4dcab0c11c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#af95136769fcc864880463d4dcab0c11c">halreceive</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface, uint8_t *rxdata, uint16_t *rxlength)</td></tr>
<tr class="separator:af95136769fcc864880463d4dcab0c11c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a033c21278fef7771916378cbcf726ae6"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#a033c21278fef7771916378cbcf726ae6">halwake</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td></tr>
<tr class="separator:a033c21278fef7771916378cbcf726ae6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3939b643c7f807fc8fe8abcf18e99196"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#a3939b643c7f807fc8fe8abcf18e99196">halidle</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td></tr>
<tr class="separator:a3939b643c7f807fc8fe8abcf18e99196"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2f432748c4d8efe98ec42d5cd1552b5"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#ad2f432748c4d8efe98ec42d5cd1552b5">halsleep</a> )(<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td></tr>
<tr class="separator:ad2f432748c4d8efe98ec42d5cd1552b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eb439f0ede23956fde8cd72f41b85ba"><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#a5eb439f0ede23956fde8cd72f41b85ba">halrelease</a> )(void *<a class="el" href="a01109.html#ad33508455720b78cc0fc880cb3f9885e">hal_data</a>)</td></tr>
<tr class="separator:a5eb439f0ede23956fde8cd72f41b85ba"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad33508455720b78cc0fc880cb3f9885e"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="a01109.html#ad33508455720b78cc0fc880cb3f9885e">hal_data</a></td></tr>
<tr class="separator:ad33508455720b78cc0fc880cb3f9885e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>an intermediary data structure to allow the HAL layer to point the standard API functions used by the upper layers to the HAL implementation for the interface. This isolates the upper layers and loosely couples the ATCAIface object from the physical implementation. </p>
</div><h2 class="groupheader">Field Documentation</h2>
<a id="ad33508455720b78cc0fc880cb3f9885e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad33508455720b78cc0fc880cb3f9885e">&#9670;&nbsp;</a></span>hal_data</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* hal_data</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a3939b643c7f807fc8fe8abcf18e99196"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3939b643c7f807fc8fe8abcf18e99196">&#9670;&nbsp;</a></span>halidle</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halidle) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="aa020e68c9d18f83f205981fa57107b3c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa020e68c9d18f83f205981fa57107b3c">&#9670;&nbsp;</a></span>halinit</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halinit) (void *hal, <a class="el" href="a01013.html">ATCAIfaceCfg</a> *cfg)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af174424ba7b2d19a74c72f8b4198c26b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af174424ba7b2d19a74c72f8b4198c26b">&#9670;&nbsp;</a></span>halpostinit</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halpostinit) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="af95136769fcc864880463d4dcab0c11c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af95136769fcc864880463d4dcab0c11c">&#9670;&nbsp;</a></span>halreceive</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halreceive) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface, uint8_t *rxdata, uint16_t *rxlength)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a5eb439f0ede23956fde8cd72f41b85ba"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5eb439f0ede23956fde8cd72f41b85ba">&#9670;&nbsp;</a></span>halrelease</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halrelease) (void *<a class="el" href="a01109.html#ad33508455720b78cc0fc880cb3f9885e">hal_data</a>)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a6fb3aee6375216c53ef1e5a9df01e074"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6fb3aee6375216c53ef1e5a9df01e074">&#9670;&nbsp;</a></span>halsend</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halsend) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface, uint8_t *txdata, int txlength)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="ad2f432748c4d8efe98ec42d5cd1552b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2f432748c4d8efe98ec42d5cd1552b5">&#9670;&nbsp;</a></span>halsleep</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halsleep) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a id="a033c21278fef7771916378cbcf726ae6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a033c21278fef7771916378cbcf726ae6">&#9670;&nbsp;</a></span>halwake</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="a00173.html#a22bd6643f31f1d75dc3e7ea939f468cd">ATCA_STATUS</a>(* halwake) (<a class="el" href="a00989.html#ga75c11126f3fe81df3d6c27f5bb393303">ATCAIface</a> iface)</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="a01109.html">ATCAHAL_t</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
  </ul>
</div>
</body>
</html>
